package reinas;

import java.util.Random;

public class Individuo {
    public Integer[] cromosoma;
    public Double evaluacion;
    public Integer colisiones;
    public Double ps;
    
    public Individuo(){
        Random rgen = new Random();
        cromosoma = new Integer[6];
        for(int i=0; i < cromosoma.length; i++) {
            cromosoma[i] = i;
        }
        for (int i=0; i < cromosoma.length; i++) {
            int randomPosition = rgen.nextInt(cromosoma.length);
            int temp = cromosoma[i];
            cromosoma[i] = cromosoma[randomPosition];
            cromosoma[randomPosition] = temp;
        }
    }
    public String toString(){
        String individuo=""; 
        for(Integer columna: cromosoma){
            individuo+=columna;
        }
        individuo+=" eval="+evaluacion+" col= "+colisiones+" ps="+ps;
        return individuo+"\n";
    }
    public String ImpTablero(){
        int j=0;
        String tablero="Tablero de "+this.toString()+"Evaluacion= "+evaluacion+" Colisiones= "+colisiones+"\n  0 1 2 3 4 5\n";
        for(Integer columna: cromosoma){
            tablero+=j++;
            for(Integer i=0;i<cromosoma.length;i++){
                if(i.equals(columna))
                    tablero+="|R";
                else
                    tablero+="| ";
            }
            tablero+="\n";
        }
        return tablero+"\n";
    }
}
/*fuente 2 archivos de las 2 primeras generaciones 2 ultimas grafica de solución*/